#include <iostream>
#include <cstring>
using namespace std;

//--------------类的定义------------
class StuInfo
{
  char Id[10];   //学号
  char name[20]; //姓名
  int prog;      //程序课程成绩
  int net;       //网络课程成绩
  int db;        //数据库课程成绩
  int total;     //总成绩

public:
  void Set(char *id, char *name, int prog, int net, int tb);
  int Get_pro() { return prog; };
  int Get_net() { return net; };
  int Get_db() { return db; };
  int Get_total() { return total; };
  void sortbytotal(StuInfo stu[], int N); //排序
  bool Isbig(int K);                      //各科是否都大于K
  void Show();
};

//--------------成员函数的定义------------
//设置数据成员
void StuInfo::Set(char *id, char *name, int prog, int net, int db)
{
  strcpy(this->Id, Id);     //字符串“赋值”
  strcpy(this->name, name); //字符串赋值
  this->prog = prog;        //this区别两个prog
  this->net = net;
  this->db = db;
  this->total = prog + net + db;
}

//显示信息
void StuInfo::Show()
{
  cout << Id << "\t";
  cout << name << "\t";
  cout << prog << "\t";
  cout << net << "\t";
  cout << db << "\t";
  cout << total << endl;
}

//判断各科大于等于K
bool StuInfo::Isbig(int K)
{
  if (prog >= K && net >= K && db >= K)
    return true;
  else
    return false;
}

//排序
void StuInfo::sortbytotal(StuInfo stu[], int N)
{
  int i, j;
  for (i = 0; i < N - 1; i++)
  {
    for (j = 0; j < N - 1 - i; j++)
    {
      if (stu[j].Get_total() < stu[j + 1].Get_total()) //依据总成绩
      {
        StuInfo tmp; //交换对象
        tmp = stu[j];
        stu[j] = stu[j + 1];
        stu[j + 1] = tmp;
      }
    }
  }
}

//--------------主函数------------
int main()
{
  //数据定义
  const int MAX = 50;//班级容量
  StuInfo dianqi[MAX];//对象数组
  int N;//实际人数
  char id[10];//学号
  char name[20];
  
}